The invention relates to a contention scheme for access to a transmission medium.
Access to a shared medium in local area networks such as Ethernet(copyright) networks is typically realized by a Carrier Sense Multiple Access/Collision Detection (CSMA/CD) protocol. This protocol provides for a station on the network to wait for the medium to become idle before transmitting its data packet. If more than one station transmits at the same time, a collision occurs. Upon detecting a collision, the transmitting stations abort their transmissions and transmit so-called jam signals, each jam signal being of equal duration. After transmitting the jam signals, the stations enter a so-called backoff mode in which each station waits for a randomly chosen time interval before attempting retransmission. Because the waiting time is randomly chosen, the probability of a second collision is reduced.
Such contention-based networks were originally developed primarily for non-real-time applications such as data. More recently, they have been employed to support real-time applications such as voice and video. However, using contention-based networks to carry real-time traffic may be problematic because of such networks"" inability to guarantee a maximum, or bounded, delay service and thus their inability to guarantee a desired level of service quality for real-time applications. As a result, techniques have been developed that give priority to applications with real-time constraints.
One such technique is taught in our co-pending U.S. patent applications (Ser. No. 08/792,327 now U.S. Pat. No. 6,014,037 filed Jan. 30, 1997 and entitled xe2x80x9cA Wireless Lan Distributed Access Procedure Providing Priority For Voice Transmissionsxe2x80x9d; Ser. No. 08/923,301 now U.S. Pat. No. 6,359,899 filed Sep. 04, 1997 and entitled xe2x80x9cPriority Access For Real-Time Traffic In Contention-Based Networksxe2x80x9d; Ser. No. 08/923,302 now U.S. Pat. No. 5,982,779 filed Sep. 04, 1997 and entitled xe2x80x9cPriority Access For Real-Time Traffic In Contention-Based Networksxe2x80x9d). Specifically, upon transmitting a packet and detecting a collision with existing network traffic, a real-time station contends for access to the medium by transmitting a so-called blackburst signal for a predetermined duration of time. That predetermined duration of time is determined as a function of the level of access priority that it is desired for that station to have vis-à-vis other real-time stations. For example, it may be a function of the amount of time that the real-time station had to wait for the transmission medium to become idle after the data packet became ready for transmission. Thus, the real-time station that was waiting the longest has the longest blackburst signal.
This being so, the real-time station that was waiting the longest is given priority in transmitting its data packet. Having the longest blackburst, the real-time station that was waiting the longest finds that at some point during its blackburst transmission its blackburst is the only signal being transmitted on the mediumxe2x80x94meaning that other real-time stations whose waits were shorter completed their blackburst transmissions. The real-time station thus xe2x80x9cwinsxe2x80x9d the contention and accesses the medium to transmit a data packet thereon following the termination of the blackburst. On the other hand, a real-time station xe2x80x9closesxe2x80x9d the contention if that station finds that, upon termination of its blackburst, another signal is being transmitted on the mediumxe2x80x94meaning that another real-time station whose wait was longer is still transmitting its blackburst. The losing real-time station then waits for the transmission medium to once again become idle. Upon perceiving the medium to be idle, the real-time station transmits a packet. If yet another collision occurs, the real-time station again transmits its blackburst. However, in this instance the duration of the blackburst will be longer than before as a result of the increase in the amount of time that the real-time station had to wait to access the transmission medium. Assuming no other real-time station had to wait longer, the real-time station""s blackburst is longer than other blackburst signals. Thus the real-time station finds the medium to be idle following its blackburst transmission and transmits its data packet. In this way, a station that had previously lost the contention does ultimately gain access to the medium.
In the embodiments disclosed in the cited patent applications, the transmission network is configured as a bus. However, often the network is a so-called star network in which one or more stations are connected to a xe2x80x9chubxe2x80x9d. A hub is a device that serves as the functional equivalent of a bus in that it communicates the signals transmitted by one station to at least one other station. In addition, if a collision occurs, the hub propagates the collision event throughout the network by transmitting a jam signal. The hub also enforces certain rules to guard against errant station behavior. In particular, the hub keeps track of the values of a number of parameters for every station, one of which being the length of each collision, Lec. If, for any station, the value of this parameter reaches its maximum value set by the hub, the hub xe2x80x9cshuts downxe2x80x9d the offending station, or xe2x80x9cisolatesxe2x80x9d it from the network, i.e., the hub does not communicate the data transmitted by that station to any other station(s).
The above-described hub actions create problems for a station that has won a blackburst contention, referred to hereinbelow as a xe2x80x9cwinning station.xe2x80x9d. First, the contention itself, independent of its duration, causes the hub to transmit a jam signal whereupon any data packet that the winning station transmits immediately upon winning the contention is not communicated to any other station(s). That is, another station receives the jam signal rather than the transmitted data packet. In addition, the winning station may have transmitted its blackburst signal for a significant period of time during which it collided with the blackburst signals of other real-time stations. As a result, that station may have its value for the Lec parameter exceed the maximum allowed by the hub and thus would be shut down by the hub. However, the station, having won the contention and unaware that it has been shut down, proceeds to transmit its packet, which, unfortunately, is never received by another station. Finally, if, for example, two stations that are participating in a blackburst contention both have their values for the Lec parameter exceed the maximum, both stations are shut down by the hub before either station can determine whether it has priority over the other station. As a result, when the stations are reinstated into the network, both stations will commence transmission and another contention will occur.
According to the principles of the invention, a station whose transmission is colliding with the transmission of another station and which heretofore would have transmitted a data packet immediately following its colliding transmissionxe2x80x94as, for example, in a blackburst contention as described abovexe2x80x94suspends transmission immediately upon termination of the collision and, if necessary, at a particular point(s) in time during the collision. The station recommences transmission after a predetermined non-zero duration of time, or xe2x80x9ctime notchxe2x80x9d, during which the medium is idle. More specifically, that station suspends its transmission when the collision terminates and at other points in time as may be necessary to prevent the duration of its colliding transmission from causing that station""s value of the Lec parameter to exceed the maximum allowed by the hub. To this end, a station may illustratively time the duration of the collision and insert time notches as appropriate. An alternative approach that is easier to implement for a station involved in a blackburst contention is for that station to cause the occurrence of a time notch after the transmission of every so-called black slot that comprises that station""s blackburst signal.
The suspension of a station""s transmission upon termination of a collision causes the hub to no longer transmit the jam signal and provides the opportunity for a subsequent transmission by that station to be received by another station(s). The suspension of a station""s transmission at points in time during a collision causes the hub to reset the value of the station""s Lec parameter to an initial value. As a result, if a station has been shut down by the hub because at least a portion of its transmission has collided with another station""s transmission for a longer duration than the maximum allowed by the hub, the station is caused to be reinstated into the network. Thus the hub communicates the station""s subsequent transmission in the normal way.
If nothing more were done, another real-time or non-real-time station that became ready to transmit while a contention was ongoing would take steps to do so upon detecting that the medium was idle during a time notch and, in particular, during the time notch that was provided by a station upon winning the blackburst contention. The competing station""s transmission would then collide with the winning station""s transmission. This collision would cause the hub to not communicate the winning station""s transmission to other station(s) and possibly to shut down the winning station.
This may not always be a problem because real-time stations operating under the blackburst scheme are preferably provided with filters recommended under Ethernet protocol that cause them to regard the medium as idle only if the medium is idle for a predetermined filter time interval. In preferred embodiments, the duration of the time notch is not greater than that filter time interval. As a result, a station having such a filter ignores the time notch and does not regard the medium as ever having been idle. This being so, the competing station does not commence a transmission, and no further collisions occur.
However, having such a filter is not mandatory for non-real-time stations and thus there remains the possibility of a collision between the winning station and a non-real-time station. This problem is solved in accordance with an aspect of the present invention by providing for an additional time notch if the winning station detects such a collision with a non-real-time station. Upon detecting that collision and transmitting its jam signal, the non-real-time station must wait a certain amount of time, referred to herein as xe2x80x9csetup timexe2x80x9d, before it can once again transmit. Advantageously, to lessen the likelihood of even further collisions resulting from the occurrence of the additional time notch, the duration of the additional time notch is preferably not greater than the setup time.